<?php
class ArticlesController extends Core_Controller
{
    public function indexAction()
    {
        if(count($this->_http->getArvs())>0) throw new Exception("404 not found",404);
        if(! isset($_SESSION['admin_id'])) $this->redirect('/admin');
        $this->_view->title = "Quản lý bài viết";
        $this->_view->activeClass = "articles";
        
        $modelArticles = new Admin_Model_Articles();
        $this->_view->list = $modelArticles->getArticles();
    }
     
    public function createAction()
    {
        if(count($this->_http->getArvs())>0) throw new Exception("404 not found",404);
        if(! isset($_SESSION['admin_id'])) $this->redirect('/admin');
        $this->_view->title = "Thêm bài viết";
        $this->_view->activeClass = "articles";
        
        //status  0: chua submit , 1: da submit va co loi , 2: submit thanh cong
        $status = 0;
        $message = '';
        $tt = '';
        $ct = '';
        $gr = '';
        
        if(isset($_POST['titleArticle']))
        {
            $tt = trim($_POST['titleArticle']);
            $ct = trim($_POST['contentArticle']);
            $gr = trim($_POST['groupArticle']);
            $status = 1;
            
            if($tt == "")
            {
               $message = " Chưa nhập tiêu đề bài viết";    
            } 
            else
               if($ct == "")
               {
                    $message = "Chưa nhập nội dung bài viết";  
               }
                else
                {
                    $modelArticles = new Admin_Model_Articles();
                    $ok = $modelArticles->insertArticle($tt,$ct,$gr);
                    if(! $ok )
                       $message = " Thêm bài viết thất bại do lỗi hệ thống";
                    else
                    {
                        $status = 2;
                        $this->redirect('/admin/articles');
                    }  
                }
        }
        
        $this->_view->status = $status;
        $this->_view->message = $message;
        $this->_view->input_title = $tt;
        $this->_view->input_content = $ct;
        $this->_view->input_group = $gr; 
    }
      
    public function editAction()
    {
        if(count($this->_http->getArvs()) != 1 ) throw new Exception("404 not found",404);
        $id = $this->_http->getParam('id');
        if($id == null) throw new Exception("404 not found",404);
        if(! isset($_SESSION['admin_id'])) $this->redirect('/admin');
        $this->_view->title = "Sửa bài viết";
        $this->_view->activeClass = "articles";
        
        //status  0: chua submit , 1: da submit va co loi , 2: submit thanh cong
        $status = 0;
        $message = '';
        $tt = '';
        $ct = '';
        $gr = '';
        
        if(isset($_POST['titleArticle']))
        {
            $tt = trim($_POST['titleArticle']);
            $ct = trim($_POST['contentArticle']);
            $gr = trim($_POST['groupArticle']);
            $status = 1;
            
            if($tt == "")
            {
               $message = " Chưa nhập tiêu đề bài viết";    
            } 
            else
               if($ct == "")
               {
                    $message = "Chưa nhập nội dung bài viết";  
               }
                else
                {
                    $modelArticles = new Admin_Model_Articles();
                    $ok = $modelArticles->updateArticle($id,$tt,$ct,$gr);
                    if(! $ok )
                       $message = " Cập nhật bài viết thất bại do lỗi hệ thống";
                    else
                    {
                        $status = 2;
                        $this->redirect('/admin/articles');
                    }  
                }
        }
        else
        {
            $modelArticles = new Admin_Model_Articles();
            $result = $modelArticles->getArticle($id);
            if($result == null) throw new Exception("404 not found",404);
            $tt = $result[0]['title'];
            $ct = $result[0]['content'];
            $gr = $result[0]['group_index'];
        }
        
        $this->_view->status = $status;
        $this->_view->message = $message;
        $this->_view->input_title = $tt;
        $this->_view->input_content = $ct;
        $this->_view->input_group = $gr; 
        $this->_view->id = $id; 
    }
    
    public function deleteAction()
    {
        if(count($this->_http->getArvs()) != 1 ) throw new Exception("404 not found",404);
        $id = $this->_http->getParam('id');
        if($id == null) throw new Exception("404 not found",404);
        if(! isset($_SESSION['admin_id'])) $this->redirect('/admin');
        
        $modelArticles = new Admin_Model_Articles();
        $ok = $modelArticles->deleteArticle($id);
        $this->redirect('/admin/articles');
    }
}